package com.softeem.yqst_server.dto;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 统一返回结果类
 */
@Data
@Accessors(chain = true)  //开启链式编程   Result.ok().setMsg("登录成功").setData(user)
public class Result {

    /**
     * 状态码  例如：0-成功  1-失败
     */
    private Integer code;
    /**
     * 提示信息
     */
    private String msg;
    /**
     * 执行结果  true-成功   false-失败
     */
    private boolean success;
    /**
     * 附加返回结果，例如：歌曲集合、用户信息等
     */
    private Object data;

    /**
     * 统一成功返回结果
     * @return
     */
    public static Result ok(){
        Result r = new Result();
        r.code = 0;
        r.msg = "执行成功";
        r.success = true;
        return r;
    }

    /**
     * 统一失败返回结果
     * @return
     */
    public static Result fail(){
        Result r = new Result();
        r.code = -1;
        r.msg = "执行失败";
        r.success = false;
        return r;
    }

}
